Correct and Efficient Implementations of Synchronous Models on Asynchronous Execution Platforms∗
نویسندگان
چکیده
Concurrency is enjoying a second (or third? fourth?) youth. This is triggered by an anticipated revolution in the evolution of computer architecture, from faster, single-processor chips, to multi-processor chips with more and more processors [6]. This change brings hopes that the limits of Moore’s law will be overcome, but also fears that programming will become even harder than it already is. Indeed, parallel computing has been one of the holy grails of computer science. Concurrent programming today is predominantly thread-based. Thread-based concurrency is fundamentally asynchronous, in the sense that most thread-based models have an interleaving semantics, which stems from making few or no assumptions on the relative speeds of the threads. Thread communication is often based on some type of shared-memory model. This type of asynchronous concurrency results in nondeterministic behavior, which is hard to understand and debug. Indeed, a number of researchers claim that thread-based parallel programming is a bad idea [12, 9]. Other concurrency models, such as Kahn Process Networks [7], ensure deterministic results despite process interleaving. Unfortunately, most multi-processor architectures today do not follow such models, and use threads instead. Synchronous concurrency is based on a model that avoids interleaving. Instead, all processes execute in lock-step. Many theoretical models but also widely-used practical systems exist that follow the synchronous paradigm. For instance, Milner’s SCCS [11], the synchronous languages [2], languages such as VHDL and Verilog, which are very popular in the design and implementation of synchronous circuits, and tools such as Simulink and SCADE, which are widely used in the design and implementation of synchronous controllers. There is a long debate over the pros and cons of synchronous vs. asynchronous concurrency. One argument that often comes up in the debate in favor of synchrony is determinism. The semantics of most synchronous models are deterministic: given the same (sequence of inputs) the same (sequence of) outputs
منابع مشابه
Implementing mixed-criticality synchronous reactive systems upon multiprocessor platforms
In designing large complex safety-critical systems that are subject to certification, current industrial practice is centered on the use of high-level abstract design tools. Using such tools greatly facilitates the process of coming up with certifiably correct system designs; however it is a challenge to obtain resource-efficient implementations of the designs thus produced upon actual executio...
متن کاملGVT algorithms and discrete event dynamics on 129K+ processor cores
Parallel discrete event simulation (PDES) represents a class of codes that are challenging to scale to large number of processors due to tight global timestamp-ordering and finegrained event execution. One of the critical factors in scaling PDES is the efficiency of the underlying global virtual time (GVT) algorithm needed for correctness of parallel execution and speed of progress. Although ma...
متن کاملCompositional synthesis of latency-insensitive systems from multi-clocked synchronous specifications
We consider the problem of synthesizing correct-by-construction globally asynchronous, locally synchronous (GALS) implementations from modular synchronous specifications. This involves the synthesis of asynchronous wrappers that drive the synchronous clocks of the modules and perform input reading in such a fashion as to preserve, in a certain sense, the global properties of the system. Our app...
متن کاملEfficient Distribution of Triggered Synchronous Block Diagrams
Most of the design challenges for complex cyber-physical systems, where a digital controller governs a multiphysics plant, relate to the distributed nature of the systems to be controlled. Cars, airplanes, and power distribution grids are well-known examples. The characteristics of the communication network that connects the system components affect the derivation of the control law and the ver...
متن کاملGiraph Unchained: Barrierless Asynchronous Parallel Execution in Pregel-like Graph Processing Systems
The bulk synchronous parallel (BSP) model used by synchronous graph processing systems allows algorithms to be easily implemented and reasoned about. However, BSP can suffer from poor performance due to stale messages and frequent global synchronization barriers. Asynchronous computation models have been proposed to alleviate these overheads but existing asynchronous systems that implement such...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2009